
#ifndef FIXEDPOINT_OPERATION
#else
#endif


    #define Fixed_Fixed_Add(A, B)          (A+B)
    #define Fixed_Fixed_Sub(A, B)          (A-B)
    #define Fixed_Fixed_Mul(A, B)          ((( (S64)A ) * ( (S64)B ))>>FRACTION_LENGTH)
    #define Fixed_Fixed_Div(A, B)          ((( (S64)A ) << FRACTION_LENGTH )/B)

    #define Int_To_Fixed(value)              ( ((FIXEDPOINT) value) << FRACTION_LENGTH )
    #define Double_To_Fix(value)           ((FIXEDPOINT)(value*FIXED_TO_COEF))


    #define Fix_To_Double(value)           ((double)value)*FIXED_FROM_COEF
    #define Fix_To_Float(value)            ((float) value)*FIXED_FROM_COEF
    #define Fix_To_Int(value)              (INT)( value >> FRACTION_LENGTH )